/**
 * Copyright &copy; 2020 <a href="https://github.com/somowhere/exam-system">exam-system</a> All rights reserved.
 */
package com.shanhesoft.java.modules.exam.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.shanhesoft.java.common.core.util.Result;
import com.shanhesoft.java.common.core.vo.PageModel;
import com.shanhesoft.java.common.persistence.service.DataService;
import com.shanhesoft.java.modules.exam.domain.VirtualTrainingDetailInstance;
import com.shanhesoft.java.modules.exam.domain.dto.VirtualTrainingDetailInstanceDto;
import com.shanhesoft.java.modules.exam.domain.dto.VirtualTrainingDetailInstanceQueryCriteria;
import com.shanhesoft.java.modules.exam.domain.vo.VirtualTrainingDetailInstanceVo;

import java.util.List;
import java.util.Map;

/**
 * 课程实训题目实例管理Service 课程实训题目实例管理
 * @author admin
 * @version 2020-11-17 01:04:34
 */
public interface VirtualTrainingDetailInstanceService extends DataService<VirtualTrainingDetailInstance, VirtualTrainingDetailInstanceDto, String>{
	public IPage<VirtualTrainingDetailInstanceVo> findPage(PageModel pm, QueryWrapper wrapper);
	public VirtualTrainingDetailInstanceVo findVoById(String id);
	public IPage<Map<String, Object>> getUserList(PageModel pm, VirtualTrainingDetailInstanceQueryCriteria virtualTrainingDetailInstanceQueryCriteria);
	public Result startVirtualEnv(VirtualTrainingDetailInstanceDto virtualTrainingDetailInstanceDto);
	public Result stopVirtualEnv(VirtualTrainingDetailInstanceDto virtualTrainingDetailInstanceDto);
	public Result deleteVirtualEnv(VirtualTrainingDetailInstanceDto virtualTrainingDetailInstanceDto);
	public Result delayed(String TrainingDetailInstanceId, Integer time);
	public VirtualTrainingDetailInstanceDto saveOrUpdateReturn(VirtualTrainingDetailInstanceDto virtualTrainingDetailInstanceDto);
	public List<VirtualTrainingDetailInstance> findTimeOutTrainingDetailInstance();
}
